home *** CD-ROM | disk | FTP | other *** search
- # Copyright 1989 by David Love, SERC Daresbury Laboratory
- # (love@daresbury.ac.uk)
- # under the same conditions as the SPIDER distribution.
- # For more information, see file COPYRIGHT in the parent directory
-
- language PostScript extension ps
-
- comment begin <"%"> end newline
- macros begin
- \def\commentbegin{\%}
- \let\&=\\ % don't want bold reserved words (only begin, end, def used anyway)
- \def\ps{\sc PostScript}
- macros end
-
- line begin <"%"> end <"">
-
- default translation <*> mathness yes
-
- module definition math use math
-
- token identifier category math mathness yes
- token number category number mathness yes
- token newline category newline translation <> mathness maybe
- token pseudo_semi category ignore_scrap mathness no translation <opt-0>
-
- token [ category open translation <break_space-*>
- token ] category close translation <break_space-*>
- token { translation <"\\{"> category open
- token } translation <"\\}"> category close
- token < category open translation <break_space-*>
- token > category close translation <break_space-*>
- token # category hash translation <"\\#">
- # use mathness no here to avoid extra space after /
- token / category slash tangleto <space-"/"> mathness no
- token = category math
- token == category math
-
- # a frig to allow user to indent/outdent as required
- # => and <= can't be used as PostScript names!
- # this would be better done with new WEB control sequences
- token => category dent translation <indent> tangleto <"">
- token <= category dent translation <outdent> tangleto <"">
-
- ilk def_like category def mathness yes
- reserved def ilk def_like
- ilk begin_like category begin mathness yes
- reserved begin ilk begin_like
- ilk end_like category end mathness yes
- reserved end ilk end_like
-
- # index def'd things with underline
- slashed_math <break_space> math --> slashed_math
- slashed_math* <break_space> def --> math
- [ slashed_math ] (close|end) --> math (close|end)
-
- <big_force> newline newline --> ignore_scrap
- <force> newline --> ignore_scrap
-
- # want indent inside open/close pairs
- open <indent> math <outdent> close --> math
- # could have empty procedure
- open close --> math
-
- slash math --> slashed_math
-
- number hash number --> math
- number --> math
- math <break_space> math --> math
-
- begin <indent> --> math
- <outdent> end --> math
-
- dent --> ignore_scrap
-
- ignore_scrap math --> math
-
- ? ignore_scrap --> #1
-